In recent years, with the establishment of broadband environments such as xDSL and fiber optics, home network environments in which a PC and a home electric appliance are connected by Ethernet (registered trademark), a wireless LAN, and the like have been increasingly popular in households. In this background, it has become possible to connect not only PCs but also home electric appliances such as a television, a DVD recorder, an air conditioner, and a refrigerator to each other by Internet Protocol (IP).
As an application used in the Internet or a home network, there is an application that provides a function for viewing/listening AV content such as a moving picture or music between AV home electric appliances or PCs. One example is an application that provides an AV streaming function to allow a broadcast program recorded on a DVD recorder to be viewed on a television, a PC, or the like which is connected via a network.
Representative protocols for performing such AV streaming are Hyper Text Transfer Protocol (HTTP) and Real-time Transport Protocol (RTP). In particular, HTTP ensures transfer reliability by a retransmission function of Transmission Control Protocol (TCP). Because TCP includes a procedure of detecting a packet error and retransmitting a packet and a procedure of detecting a packet loss and retransmitting a packet, transfer of a correct file can be ensured even when an error or a packet loss occurs on a transmission path. Accordingly, HTTP is suitable for AV streaming under an environment, such as a home network, that is not prone to an error or a packet loss on a transmission path, and serves as a basic AV streaming system for Universal Plug and Play Audio/Video (UPnP AV), Digital Living Network Alliance (DLNA), and the like.
Although AV streaming of HTTP has high reliability, its real time performance depends on resources on a server apparatus side. In cases such as where storage data requires a transfer rate of a high bit rate or a plurality of accesses are simultaneously performed, it is necessary to manage resource allocation on the server apparatus side in consideration of a throughput. As a method for managing resource allocation, there is a method of limiting the number of TCP connections for performing transmission/reception of HTTP messages. In this case, typically an error message is transmitted to a client apparatus that attempts to request network reproduction after the limit is reached or the request itself is ignored, while a client apparatus that established a connection earlier can continue to enjoy viewing/listening AV content. This is based on the concept of “first-come first-served priority” which prioritizes an apparatus that establishes a connection earlier.
On the other hand, UPnP AV has Connection Manager Service (CMS) for connection management, which uses commands for establishing/terminating a logical connection. In detail, a command for a client apparatus to establish a logical connection to a server apparatus on a network is CMS::PrepareForConnection. Upon receiving this command, the server apparatus issues an ID to the client apparatus when there is an available resource in the server. To terminate the connection, the client apparatus transmits CMS::ConnectionComplete to the server apparatus, and the server apparatus responsively releases the resource. Since CMS is a function for establishing a logical connection, association is typically performed such as by adding an ID to an HTTP header in order to work in conjunction with AV streaming of HTTP. CMS::ConnectionComplete can be executed not only by the apparatus that obtains the ID by CMS::PrepareForConnection. Another client apparatus can also transmit CMS::ConnectionComplete to the server apparatus. This being so, by issuing CMS::GetCurrentConnectionIDs that is a command for browsing IDs to which resources are allocated in the server apparatus in order to learn about an ID and then transmitting CMS::ConnectionComplete for releasing the ID to the server apparatus, another client apparatus can terminate an earlier established connection. This is based on the concept of “last-come first-served priority” which prioritizes an apparatus that requests connection establishment later.
Thus, there is a method of performing resource management according to the number of logical connections by CMS, apart from the number of TCP connections.